DROP TABLE SPP.INDICADOR;

CREATE TABLE SPP.INDICADOR (
       nid_indicador        NUMBER(12) NOT NULL,
       txt_indicador        VARCHAR2(400) NOT NULL,
       flg_activo           NUMBER(1) NOT NULL,
       tip_unidad_medida    NUMBER(12) NULL,
       txt_metodo_calculo   VARCHAR2(500) NULL,
       txt_descripcion      VARCHAR2(400) NULL,
       txt_responsable      VARCHAR2(400) NULL,
       cod_periodo          VARCHAR2(20) NULL,
       txt_oportunidad_calculo VARCHAR2(400) NULL,
       nid_objetivo         NUMBER(12) NOT NULL,
       txt_interpretacion   VARCHAR2(200) NULL,
       txt_fte_procesamiento VARCHAR2(400) NULL,
       txt_medio_verificacion VARCHAR2(400) NULL,
       nid_portafolio       NUMBER(3) NULL,
       txt_riesgo           VARCHAR2(200) NULL,
       txt_accion_correctiva VARCHAR2(200) NULL
);

ALTER TABLE SPP.INDICADOR ADD  ( PRIMARY KEY (nid_indicador) ) ;

ALTER TABLE SPP.INDICADOR ADD  ( FOREIGN KEY (nid_objetivo) REFERENCES SPP.OBJETIVO ) ;

DROP SEQUENCE SPP.SQ_INDICADOR;

CREATE SEQUENCE SPP.SQ_INDICADOR MINVALUE 1 START WITH 1 INCREMENT BY 1 NOCACHE;

CREATE OR REPLACE TRIGGER SPP.INDICADOR_BI
  BEFORE INSERT
  ON SPP.INDICADOR
  FOR EACH ROW
  WHEN (new.Nid_INDICADOR is null)
DECLARE
  v_id SPP.INDICADOR.NID_INDICADOR%TYPE;
BEGIN
  SELECT SPP.SQ_INDICADOR.nextval INTO v_id FROM DUAL;
  :new.Nid_INDICADOR := v_id;
END INDICADOR_BI;
